home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 3
/
Cream of the Crop 3.iso
/
comm
/
wnos5src.zip
/
PC.H
< prev
next >
Wrap
Text File
|
1993-08-09
|
3KB
|
95 lines
#ifndef _PC_H
#define _PC_H
#define _HARDWARE_H
#ifndef _GLOBAL_H
#include "global.h"
#endif
#ifndef _SESSION_H
#include "session.h"
#endif
#ifdef XXX
#define NSW 10 /* Number of stopwatch "memories" */
struct stopwatch {
long calls;
int16 maxval;
int16 minval;
};
extern struct stopwatch Sw[];
#endif
struct screen {
char *save; /* Screen save buffer */
int row; /* Saved cursor location */
int col;
};
#define NULLSCREEN (struct screen *)0
/* Macros for disabling and restoring interrupts inline.
* Since the previous flags are saved on the stack, these macros
* MUST be called in pairs within a single function.
*/
#define DISABLE() {asm pushf;asm cli;}
#define RESTORE() {asm popf;}
extern int16 Intstk[]; /* Interrupt stack defined in pcgen.asm */
extern void (*Shutdown[])(); /* List of functions to call at shutdown */
extern int Mtasker; /* Type of multitasker, if any */
/* In 8250.c: */
void asytimer __ARGS((void));
/* In scc.c: */
void scctimer __ARGS((void));
void sccstop __ARGS((void));
void sccreact __ARGS((void));
/* In pc.c: */
void clrbit __ARGS((unsigned port,char bits));
void ctick __ARGS((void));
int32 divrem __ARGS((int32 dividend,int16 divisor));
INTERRUPT (*getirq __ARGS((unsigned int)) ) __ARGS((void));
void freescreen __ARGS((struct session *sp));
int getmask __ARGS((unsigned irq));
void ioinit __ARGS((void));
void iostop __ARGS((void));
void kbint __ARGS((void));
int kbread __ARGS((void));
int maskoff __ARGS((unsigned irq));
int maskon __ARGS((unsigned irq));
void newscreen __ARGS((struct session *sp));
void pctick __ARGS((void));
void setbit __ARGS((unsigned port,char bits));
int setirq __ARGS((unsigned irq,INTERRUPT (*handler) __ARGS((void))));
void sysreset __ARGS((void));
void systick __ARGS((void));
void writebit __ARGS((unsigned port,char mask,int val));
/* In pcgen.asm: */
INTERRUPT btick __ARGS((void));
void chktasker __ARGS((void));
void chtimer __ARGS((INTERRUPT (*)()));
int32 divrem __ARGS((int32 dividend,int16 divisor));
int16 getss __ARGS((void));
void giveup __ARGS((void));
int kbraw __ARGS((void));
int16 longdiv __ARGS((int16 divisor,int n,int16 *dividend));
int16 longmul __ARGS((int16 multiplier,int n,int16 *multiplicand));
INTERRUPT nullvec __ARGS((void));
void uchtimer __ARGS((void));
int16 clockbits __ARGS((void));
/* In stopwatch.asm: */
void swstart __ARGS((void));
int16 stopval __ARGS((void));
/* In sw.c: */
void swstop __ARGS((int n));
#endif /* _PC_H */